2. The Field of the Invention
This invention relates to computer software and, more particularly, to novel systems and methods for accessing databases through computer networks including without limitation local area networks, wide area networks, and global networks.
3. The Background Art
Databases are very useful and powerful. Likewise, database management systems and engines for accessing databases abound. Unfortunately, many database management systems require a cadre of management information systems personnel and often programmers and computer gurus to make the data useful and available to users. Of course, these human resources do not come without a cost. In some cases, users may need training to work with database query languages or graphical user interfaces. In effect, without the correct skilled personnel or necessary expertise, data becomes virtually useless to the users thereof.
Moreover, coordination and synchronization of data often keep data physically close to one or several homes or repositories. This necessitates the often undesirable condition that database experts be located physically near these few homes or repositories in order to perform maintenance and troubleshooting. This reality alone can cause a certain degree of inflexibility and inconvenience.
Online databases, such as those that are accessible in a wide variety over the Internet, are becoming increasingly common. With a few short keystrokes, immense amounts of information from all over the globe are accessible by the common individual. The emerging Internet is resulting in many time-saving advances making data available from virtually anywhere. However, while access to the data in these databases may be common, the ability to actually manage and manipulate the schema of such databases over networks, such as the Internet, is not. At present, the ability to manage and manipulate the data of a database, including the end user data and the schema of a database, through a network, such as the Internet, is very limited.
What is needed is a way for users to have access and control of the data, including the end user data and the schema of a database, irrespective of the type or origin of the database, through a network, such as the Internet.
What is further needed is a seamless and transparent way for users to manipulate the data, and even the schema of a database in a system that does not require a high level of expertise or training.
It would be an advance in the art to enable users to perform the foregoing functions remotely, such as through the Internet, with a common software package, such as a standard browser application. Such a system would allows users to view and modify the data and schema of a database on opposite ends of the globe if desired or needed. In addition, such a system would eliminate the necessity to load specialized database management software onto the computer or terminal of a user.
Moreover, it would be a further advance in the art to provide a system capable of recognizing and functioning with a wide variety of different databases in a manner that would be transparent to a user.
In view of the foregoing, it is a primary object of the present invention to provide an apparatus and method to remotely access and modify the data and schema of a database, through a network such as the Internet, using nothing more than a simple browser application.
It is an object of the invention to provide a method whereby embedded coding within HTML web pages may be interpreted into SQL commands for communicating with any SQL compliant database.
It is a further object to provide all the utility of a typical database through a web-based interface.
It is a further object of the invention to provide an efficient method for maintaining and updating web sites using the utility of a database.
It is yet a further object of the invention to enable programming logic to be actually embedded within the code of a web page.
It is also an object to provide a manner whereby information is dynamically updated on a web page corresponding to changes in data in a database.
It is a further object to increase the flexibility of a database by allowing a browser, web-server, and database to be located on a single computer or on computers at opposite ends of the globe, if needed or desired.
Consistent with the foregoing objects, and in accordance with the invention as embodied and broadly described herein, a method and apparatus are disclosed in one embodiment of the present invention as including a computer having a browser, having a communication link established with a web server, and making a request thereto. The web server, upon receiving the request, may then forward the request to the service module of the present invention. The service module may be located on the same computer as the web server, or be hosted by an application server, in certain embodiments.
According to the level of access afforded to a user, a user may have the ability to view data from the database or, if more authority is granted, a user may actually have the ability to modify the data or schema of a database. In effect, a user may be able to manage a database remotely, using nothing more than a simple browser application. The database may be located on a server located remotely from the web server, connected by the Internet, or may be located on the same computer as the web server. In another embodiment, a browser, web server, service module, and database may all be hosted on the same computer.
The service module of the present invention may be configured to translate requests made to a web server into a database language necessary for communication with a database. In certain embodiments, the service module may be configured to communicate with any SQL compliant database.
Once a request is made to the service module and authority is granted to a user, the service module may then retrieve or change information contained within a database. Such information may include data, tables, forms, queries, reports, web pages, user profiles, or other data. In certain embodiments, web pages may be stored at one location in a database while data stored at another location may supply content to the web pages. Thus, the present invention provides an efficient apparatus and method for maintaining and updating web sites by dynamically retrieving data each time a web page is called by a browser.
In addition to retrieving data, the service module may also parse any data retrieved from the database and execute any logic found therein. Special tags may be included within the HTML coding of web pages, which may not be recognized by a typical browser, but may be understood by the service module of the present invention and may be used to execute instructions. For example, conditional statements may be included to forward a user to distinct web pages depending on the input entered by a user. Alternatively, an instruction programmed within the source code of a web page may be executed to actually retrieve data from a database to be inserted into the web page.
Once the data is retrieved and any logic found therein is executed, the result may be subsequently forwarded to the web server and on to the browser for viewing by a user. Thus, the service module may effectively act as an interface between a web server and a database.